package com.naiterui.ehp.bs.wechat.exception;

/**
 * 微信错误码
 * @author zhoupeipei
 * @date 2019-06-12 17:34
 * @since 1.0.0
 */
public enum WeChatErrorCode {
    /**
     * 成功返回
     */
    CODE_OK_0(0,"请求成功"),
    /**
     * 微信服务系统繁忙发，稍后再试
     */
    CODE_SYSTEM_ERROR(-1,"系统繁忙！请稍后再试。"),
    /**
     * <pre>
     *     code失效
     *     对应操作：<code>code2session</code>
     *     对应地址：
     *     GET https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code
     *     参考文档：
     *     https://developers.weixin.qq.com/miniprogram/dev/api/open-api/login/code2Session.html
     * </pre>
     */
    CODE_INVALID_40029(40029,"code 无效"),
    /**
     * <pre>
     *     频率限制
     *     对应操作：<code>code2session</code>
     *     对应地址：
     *     GET https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code
     *     参考文档：
     *     https://developers.weixin.qq.com/miniprogram/dev/api/open-api/login/code2Session.html
     * </pre>
     */
    CODE_FREQUENCY_45011(45011,"频率限制，每个用户每分钟100次"),
    /**
     * <pre>
     *     code已被使用
     *     对应操作：<code>code2session</code>
     *     对应地址：
     *     GET https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code
     *     参考文档：
     *     https://developers.weixin.qq.com/miniprogram/dev/api/open-api/login/code2Session.html
     * </pre>
     */
    CODE_BEEN_USED_40163(40163,"code已被使用");

    private int code;
    private String msg;
    WeChatErrorCode(int code,String msg){
        this.code = code;
        this.msg = msg;
    }

    public static String findMsgByCode(int code){
        for(WeChatErrorCode value:WeChatErrorCode.values()){
            if(value.code == code){
                return value.msg;
            }
        }
        return null;
    }

    public int getCode() {
        return code;
    }

    public String getMsg() {
        return msg;
    }
}
